import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)

/**
 *Este es un OVNI que ayuda al jugador a distraer a Mom Alone
 * @author Alejandro Caldera 
 * @version (a version number or a date)
 */
public class Ovni extends Actor
{
    /**
     * Act - do whatever the Ins1 wants to do. This method is called whenever
     * the 'Act' or 'Run' button gets pressed in the environment.
     */
    private int angulo;
   
   public Ovni(int a)
   {
      angulo=a; 
   }
   
   public Ovni()
   {
     angulo=0; 
   }
    public void act() 
    {
        move(10);
        
        rebota();
        
        if(encontroEtiqueta())
        turn(32);
        
        if(encontroMomAlone())
        turn(41);
       
    } 
    /**
       Función que detecta si se ha topado a Mom Alone.
     */ 
     public boolean encontroMomAlone()
    {
        Actor insecto = getOneObjectAtOffset(0, 0, MomAlone.class);
        if(insecto != null) {
            return true;
        }
        else {
            return false;
        }
    } 
    /**
       Función que detecta si halló una etiqueta.
     */ 
    public boolean encontroEtiqueta()
    {
        Actor etiqueta=null;
        
        etiqueta=getOneIntersectingObject(Label.class);
         if (etiqueta!= null)
            return true;
        else
            return false;
    }
    
    /**
       Función que detecta si se ha llegado a los límites del escenario.
     */ 
    public void rebota()
    {
        int x=super.getX();
        int y=super.getY();
        
         
         //1.acceder al mundo con getWorld()
         World mundo=super.getWorld();
         //2. acceder al ancho del mundo con getWidth();
         int ancho=mundo.getWidth();
         //3.acceder al alto con getHeight();
         int alto=mundo.getHeight();
        
         if(x==ancho-1||x==0||y==alto-1||y==0)
         turn(65);
    
    }
    
   
}